

//////////////////////////////////////////////////////
//					_ooOoo_							//
//				   o8888888o						//
//				   88" . "88						//
//				   (| ^_^ |)						//
//				   O\  =  /O						//
//				____/`---'\____						//
//			  .'  \\|     |//  `.					//
//			 /  \\|||  :  |||//  \					//
//		    /  _||||| -:- |||||-  \					//
//		    |   | \\\  -  /// |   |					//
//			| \_|  ''\---/''  |   |					//
//			\  .-\__  `-`  ___/-. /					//
//		  ___`. .'  /--.--\  `. . ___				//
//		."" '<  `.___\_<|>_/___.'  >'"".			//
//	  | | :  `- \`.;`\ _ /`;.`/ - ` : | |			//
//	  \  \ `-.   \_ __\ /__ _/   .-` /  /           //
//========`-.____`-.___\_____/___.-`____.-'=========//
//				             `=---='                //
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^//
//      佛祖保佑       永无BUG       永不修改			//
//////////////////////////////////////////////////////

#import "AppDelegate.h"
#import <AlipaySDK/AlipaySDK.h>
#import "WXApi.h"
#import "payRequsestHandler.h"

@interface AppDelegate ()<WXApiDelegate>

@end

@implementation AppDelegate
/**
 *  注意
 *
 *  1、Build Setting ----> Search Paths ----> Library Search Paths 添加支付静态库的路径
 *     详见支付宝接口文档
 *
 *  2、 有些类库不需要添加，具体自己试一下吧，可以缩小工程的大小。
 *
 *  3、此 Demo 亲测有效，但是向服务器请求的信息已经删除，所以不能运行。
 
 *     如果按照此方法调不起来支付，请不要怀疑，一定是你自己写错了。。。
 
 *     如果按照此方法调不起来支付，请不要怀疑，一定是你自己写错了。。。
 
 *     如果按照此方法调不起来支付，请不要怀疑，一定是你自己写错了。。。
 
     ----------------重要的事情说三遍------------------
 */
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //向微信注册
    [WXApi registerApp:APP_ID withDescription:@"公司的名字"];
    
    return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    if ([url.host isEqual:@"pay" ]) {
        return  [WXApi handleOpenURL:url delegate:self];
    }
    if ([url.host isEqual:@"safepay"]) {
        //跳转支付宝钱包进行支付，处理支付结果
        [[AlipaySDK defaultService] processOrderWithPaymentResult:url standbyCallback:^(NSDictionary *resultDic) {
            NSLog(@"AppDelegate里面的result = %@",resultDic);
        }];
        
        return YES;
    }
    return YES ;
}

/**
 *  微信支付回调
 */
-(void)onResp:(BaseResp *)resp {
    NSString *strMsg = [NSString stringWithFormat:@"errcode:%d", resp.errCode];
    NSString *strTitle;
    
    if([resp isKindOfClass:[SendMessageToWXResp class]]) {
        strTitle = [NSString stringWithFormat:@"发送媒体消息结果"];
    }
    if([resp isKindOfClass:[PayResp class]]) {
        //支付返回结果，实际支付结果需要去微信服务器端查询
        strTitle = [NSString stringWithFormat:@"支付结果"];
        switch (resp.errCode) {
            case WXSuccess:
                strMsg = @"支付结果：成功！";
                NSLog(@"支付成功－PaySuccess，retcode = %d", resp.errCode);
                break;
            default:
                strMsg = [NSString stringWithFormat:@"支付结果：失败！retcode = %d, retstr = %@", resp.errCode,resp.errStr];
                NSLog(@"错误，retcode = %d, retstr = %@", resp.errCode,resp.errStr);
                break;
        }
    }
    
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strTitle message:strMsg delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alert show];
}

- (void)applicationWillResignActive:(UIApplication *)application {
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
@end
